﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace GameVLTK
{
    public class Aura : VisibleGameEntity
    {
        //Sử dụng để Clone đối tượng
        protected ContentManager Content;
        protected string Path;
        protected int _nTextures;
        public Aura(ContentManager content, string path, int nTextures)
        {
            this.Content = content;
            this.Path = path;
            this._nTextures = nTextures;

            Texture2D[] textures;
            textures = new Texture2D[nTextures];

            int[] framSeq = new int[nTextures];
            for (int i = 0; i < nTextures; i++)
            {
                textures[i] = content.Load<Texture2D>(path + (i + 1).ToString("00"));
                framSeq[i] = i;
            }

            //Mỗi obj sẽ có một sprite gồm dãy các hình
            this.Sprites = new List<MySprite>();
            this.nSprites = 1;
            this.Size = new Vector2(textures[0].Width, textures[0].Height);
           
            //Khởi tạo sprite cho obj
            MySprite mySprite = new MySprite(textures, new Vector2(0,0));
            mySprite.FrameSequence = framSeq;

            this.Sprites.Add(mySprite);

        }

        /// <summary>
        /// 
        /// </summary>
        public override VisibleGameEntity Clone()
        {

            Aura aura = new Aura(this.Content,
                                    this.Path,
                                    this._nTextures);
            return aura;
        }
    }
}
